Image quality configuration apparatus, system and method

ABSTRACT

A method includes detecting one of an application access or a file type access, and configuring, in response to detecting the application or file type access, automatically without user interaction, a display system in an image quality configuration for the application or the file type where the image quality configuration is based on providing best image quality with respect to the application or the file type. Configuring the display system in an image quality configuration, may involve determining that a profile associated with the application or associated with the file type is stored in memory, and configuring the display system according to the profile. The method may adjust at least one anti-aliasing parameter or at least one anisotropic filter parameter. The method may monitor an operating system to obtain an indication that an application has been accessed or that a file type has been accessed.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of U.S. patentapplication Ser. No. 12/644,300 filed on Dec. 22, 2009, entitled IMAGEQUALITY CONFIGURATION APPARATUS, SYSTEM AND METHOD, owned by instantassignee and incorporated herein by reference and is related to U.S.patent application Ser. No. 12/198,372, Attorney Docket No. TT6447,filed Aug. 26, 2008, entitled PROFILE ADJUSTMENT MODULE FOR USE WITHDATA PROCESSING SYSTEM, which is incorporated by reference herein.

FIELD OF THE DISCLOSURE

The present disclosure is related to systems and methods forautomatically adjusting image quality based on application type.

BACKGROUND

Image processing, including processing of 3-dimensional (3D) images, hasbeen progressively advancing. Various applications, such as, but notlimited to, games with 3D images, DVD viewing applications, photoviewing and editing applications, TV viewers such as HDTV viewers, etc.,all produce visual aspects that, in view of the display screen type andsize, capabilities of the processors within the viewing device, etc.,often would benefit from different and, in some cases, unique, settingsthat would result in the best possible image quality suitable for theparticular application.

However, even if such settings are accessible to a user, such settingsmay not be well understood and the user may not be fully versed in howto best adjust the settings to obtain optimum image quality for aspecific application. On the other hand, a sophisticated user whounderstands what adjustments should be made, must manually make theadjustments, using appropriate user interfaces, at the particular timethe desired application is being run and displayed. The settings maythen need to be changed again, for the next application the user intendsto run on the device, which is a tedious process.

Some existing systems have the ability to detect that a givenapplication is being run, such as a gaming application, and adjustvarious device settings such that performance aspects of the electronicdevice are optimized, such as clocking, frames per second, etc., howeverthese systems do not account for image quality.

Further, with respect to image quality, other adjustments that may befeasible for the technology in use, (i.e. given the processors such as aGPU and related graphics pipeline logic being used), may not beaccessible by the user. That is, the ability to adjust, via aninterface, various logical components that act to render images on thedisplay using the specific processing hardware of the device, and for aspecific application, are not available at the user level of applicationsoftware or even at the operating system level.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram of a display, which may be a stand alone display, acomputer monitor, a display of a handheld device, etc., with a pluralityof application windows displayed within the screen space of the display.

FIG. 2 is a block diagram of an electronic device of the variousembodiments, which is operatively coupled to one or more displays. Adisplay may also be integrated with the electronic device or may beseparate and connected via cabling, wireless connections, etc.

FIG. 3 is a logical block diagram of dynamic image quality configurationlogic in accordance with the embodiments, and shows the variousinteractions of the logic with other logical components.

FIG. 4 is a flow chart showing high level operation of dynamic imagequality configuration logic in accordance with the embodiments.

FIG. 5 is a flow chart showing operations for handling window focus ofvarious applications displayed in a screen space in accordance with anembodiment.

FIG. 6 is a flow chart showing further details of operation for handlingimage quality settings in accordance with an embodiment.

DETAILED DESCRIPTION

The present disclosure provides an apparatus and method where the methodincludes detecting one of an application access or a file type access,and configuring, in response to detecting the application access or thefile type access, automatically without user interaction, a displaysystem in an image quality configuration for the application or the filetype wherein the image quality configuration is based on providing bestimage quality with respect to the application or the file type.Configuring the display system in an image quality configuration, in oneembodiment, may include determining that a profile associated with theapplication or associated with the file type is stored in memory, andconfiguring the display system according to the profile. Configuring thedisplay system in an image quality configuration, in some embodiments,may also include adjusting at least one anti-aliasing parameter or atleast one anisotropic filter parameter.

The method, in some embodiments, may detect application access or filetype access by monitoring an operating system of the display system andobtaining an indication from the operating system that an applicationhas been accessed or that a file type has been accessed. In otherembodiments, the method may detect application access, or file typeaccess, by monitoring a GPU of the display system and obtaining aprocess invocation indication from the GPU where the process invocationcorresponds to a specific application access.

The method may also include displaying, on a display screen space, ofthe display system, a plurality of application windows where applicationaccess corresponds to selection of one of the application windows. Themethod then determines that the one application window is larger than aminimum percentage of the display screen space, and configures thedisplay system in the image quality configuration for the applicationwhere the application provides a display only within the one applicationwindow. In an alternative embodiment, the method may include determiningthat processor utilization of at least one processor, related to theapplication corresponding to the one application window, is larger thana minimum percentage processor utilization, and may thus configure thedisplay system based on the application causing a high processorutilization.

The method of may include configuring the display system in the imagequality configuration by adjusting at least one setting selected fromthe settings of: sharpness, color correction, brightness, contrast,color vibrance and flesh tone correction.

The embodiments also include an apparatus, such as an electronic devicethat includes image quality configuration logic. The image qualityconfiguration logic is operative to detect one of an application accessor a file type access, and configure, in response to detecting theapplication access or the file type access, automatically without userinteraction, a display system in an image quality configuration for theapplication or the file type where the image quality configuration isbased on providing best image quality with respect to the application orthe file type. The logic may also be operative to determine that aprofile associated with the application or associated with the file typeis stored in memory, and configure the display system according to theprofile.

In some embodiments, the logic is operative to adjust at least oneanti-aliasing parameter or at least one anisotropic filter parameter.The apparatus may also, in some embodiments, have logic operative tomonitor an operating system of the apparatus and obtain an indicationfrom the operating system that an application has been accessed or thata file type has been accessed. In an alternative embodiment, the logicmay be operative to monitor a GPU of the apparatus and obtain a processinvocation indication from the GPU that corresponds to a specificapplication access.

The apparatus may also be operative to display, on a display screenspace, a plurality of application windows wherein the application accessis a selection of one application window of the plurality of applicationwindows, determine that the one application window is larger than aminimum percentage of the display screen space, and configure theapparatus in the image quality configuration for the application whereinthe application provides a display only within the one applicationwindow. Alternatively, the apparatus may determine processor utilizationof at least one processor, related to an application corresponding tothe one application window.

The apparatus may include logic that is operative to adjust at least onesetting selected from the settings of: sharpness, color correction,brightness, contrast, color vibrance and flesh tone correction.

The present disclosure further provides a computer readable memory, thatincludes executable instructions for execution by at least oneprocessor, that when executed cause the at least one processor toperform the operations and methods in accordance with the embodiments asoutlined above. The computer readable memory may be any suitablenon-volatile memory such as, but not limited to programmable chips suchas EEPROMS, flash ROM (thumb drives), compact discs (CDs) digital videodisks (DVDs), etc., that may be used to load executable instructions orprogram code to other processing devices or electronic devices such asthose described in further detail herein below.

The terminology “display system” as used herein refers to one or moreelectronic devices and one or more display devices, operatively coupledto provide display of information and images related to applicationsand/or electronic files of various file types. The one or more displaydevices may be integrated with the electronic device or may be externalfrom the electronic device, or combinations thereof.

The terminology “electronic device” as used herein refers to anapparatus that may includes one or more programmable processors, andother hardware, software and/or firmware, such that the electronicdevice may run various applications in response to user selection. Theelectronic device may include an integrated “display device” and/or maybe connectable to one or more external display devices.

The terminology “display device,” or “display,” as used herein refers toan electronic display device such as a monitor, a CRT, LCD flat panel,LED flat panel, plasma screen, etc., that may be integrated with anelectronic device, or may be external and connectable to an electronicdevice. The display device may include memory and/or logic that enablesthe adjustment, or configuration, of image quality settings related toimages displayed on the screen space of the display device.

The term “logic” as used herein may include software and/or firmwareexecuting on one or more programmable processors, ASICs, DSPs, hardwiredlogic or combinations thereof, and may be present within an electronicdevice and/or within a display device.

The terminology “image quality,” “image quality settings,” and “imagequality configuration,” refers to image fidelity settings, that is,settings that impact the visual appearance of an electronic file (suchas a still image picture or document or a video such as an MPEG file)and that are, at least, not directly related to performance includingprocessor performance or the performance of a graphics processingpipeline. “Dynamic image enhancement settings” as used herein are imagequality settings that may be adjusted dynamically, that is,automatically configured and without user intervention, as the userworks with, and selects/deselects, various applications. The dynamicimage enhancement settings may be settings of an electronic deviceand/or settings of one or more display devices. An “image qualityconfiguration” as used herein refers to image quality settings of anelectronic device and/or at least one display device. The image qualitysettings are “configured,” that is, set or adjusted, in accordance withthe embodiments, to provide the best possible image quality related to agiven application or file type that is being displayed on a screenspace. The configuration may be determined by a profile stored inmemory. The configuration is performed dynamically, that is,automatically and without user interaction or intervention.

The terminology “screen space” as used herein refers to a display area(for example, a screen area that may be defined in terms of pixels) andmay refer to the screen space area of a single “display device” but mayalso refer to a screen space area formed by a conglomeration of displaydevices when such display devices are used together to form a singlelarge area display. In this case the conglomeration of display devicesmay form a “screen space” upon which, for example, an application, filetype, or various application windows, may be displayed.

The terminology “file type” refers to an electronic file that is usuallydefined in terms of a standard such as, but not limited to, JPG/JPEG,GIF, MPEG, etc., but may also refer to an electronic file that isdetermined by its file “extension” such as, but not limited to, “.doc,”“.pdf,” etc.

The term “focus” and also “window focus” refers to an operationwhereupon a computing device or electronic device user selects, usuallyby moving a mouse cursor over an area on a screen space and clicking,that is, “selecting,” an application window in order to view thatinformation displayed within the application window, or to proceed withsome other operation related to the application or the applicationwindow (such as, but not limited to, resizing or moving the applicationwindow).

Turning now to the drawings wherein like numerals represent likecomponents, FIG. 1 illustrates a display, or monitor, 101 which includesa screen space 100. The screen space 100 may display a plurality ofapplication windows 103, such as application windows 1 through 4. FIG. 2illustrates an electronic device 250 in accordance with the variousembodiments. The electronic device 250 in conjunction with at least onedisplay device 201 forms a display system. FIG. 2, as well as otherFIGs. presented and described herein, are to be understood asillustrating to those of ordinary skill, the logical componentsnecessary for making and using the various embodiments disclosed herein,and are not intended to be complete schematic diagrams of all componentsnecessary for implementing an electronic device, etc. Therefore, variousother internal components may be present and various arrangements ofsuch internal components and corresponding connectivity may be utilizedand such arrangements and corresponding connectivity would remain inaccordance with the embodiments herein disclosed. Thus the variousinternal components are operatively coupled via a communication bus,however other intervening components may or may not be present in some,or all, communication pathways. All such arrangements remain inaccordance with the embodiments. Therefore, electronic device 250 isoperatively coupled to one or more displays 201. Each one of thedisplays 201 includes a screen space 200, and is operatively coupled tothe electronic device 250 via cabling 203 which connects the display toa logical connector port of a connector interface 260. However, in someembodiments the displays 201 may be connected to the electronic device250 by other means such as wireless connections, etc. The connectorinterface 260 is operatively coupled to various elements within theelectronic device 250 via internal communication bus 270. Thecommunication bus 270 provides operative coupling between variouselements of the electronic device 250 such as, but not limited to, GPU205, chip set 209, CPU 211, memory, such as system memory, 217, TV tuner223 and various user interfaces 225.

The CPU 211 performs various operations such as running an operatingsystem 213 and also running various loaded drivers 215. In accordancewith the embodiments, the CPU 211 may also include Dynamic image qualityconfiguration logic 300 as will be described in further detail herein.The GPU 205 may run a plurality of applications 207, which maycorrespond to the various application windows 103 displayed on thescreen space 100 as was illustrated in FIG. 1. However, in accordancewith the embodiments herein described, the screen space may be aconglomeration of individual display screen spaces such as the screenspaces 200 of the displays 201. Therefore, as will be further described,the various embodiments may adjust the settings related to a singledisplay or monitor, or may adjust the settings of a plurality ofdisplays, where the plurality of displays act in conglomeration toprovide a single screen space.

In accordance with the various embodiments, a dynamic image qualityconfiguration logic 300 detects the running of an application, such asone selected from the plurality of applications 207, or may detectaccess of a specific file type such as, but not limited to, JPEG, GIF orother image file, for example. In the exemplary embodiment illustratedin FIG. 2, the CPU 211 includes the dynamic image quality configurationlogic 300, which may be implemented by the CPU 211 running a dynamicquality configuration logic code 301 stored in memory 217. However, thedynamic image quality configuration logic 300 may be implemented invarious ways and may, for example, be distributed between, the GPU 205and the CPU 211 in some embodiments.

Also in accordance with the various embodiments, the memory 217 includesprofile data 303 which consists of a plurality of profiles 350. Anexemplary profile 305 illustrates that each profile will contain dynamicimage enhancement settings such as the settings 307 and settings 309.Settings 309 are particular to applications utilizing 3D imagery as willbe discussed further herein.

FIG. 3 is a logical block diagram that is helpful for understanding theoperation of the various embodiments. In FIG. 3, the dynamic imagequality configuration logic 300 is shown in relation to the variouslogical objects within the electronic device 250. It is to be understoodthat, because FIG. 3 is a logical diagram, it is agnostic as to how thevarious elements, such as the dynamic image quality configuration logic300, are implemented in any specific embodiment. For example, asdiscussed above, the dynamic image quality configuration logic 300 mayconsist of dynamic image quality configuration logic code 301, which maybe distributed between the CPU 211 and GPU 205, or may include hardwiredlogic, or may be a combination of hardwired logic and code executing ona programmable processor such as the CPU 211 and/or GPU 205.

FIG. 3 shows that the dynamic image quality configuration logic 300interfaces with profile data 303 to access the plurality of profiles 350stored within the memory 217. The dynamic image quality configurationlogic 300 also interacts with the operating system 213 in various ways.For example, the operating system 213 may be utilized by a user tolaunch and operate various applications 221. That is, a user may selectand run one or more applications from a plurality of availableapplications. The plurality of applications 370 shown in FIG. 3 areunderstood to be applications currently running and displayed on atleast one display such as display 301, or on a plurality of displays. Inone example of operation, a user may launch an application and display acorresponding application window on the display 301. The dynamic imagequality configuration logic 300 will detect the specific applicationlaunched and will take appropriate action to change or otherwise adjustdynamic image enhancement settings related to the launched application.For example, the dynamic image quality configuration logic 300 maydetect that application #1 has been launched and is being displayed onthe display 301. The dynamic image quality configuration logic 300 will,in response, access the profile data 303 and get a profile from theplurality of profiles 350 related to application one. For example,profile #1, 311, may be the profile specific to application #1 and willinclude a set of dynamic image enhancement settings 307 and/or 309. Thedynamic image quality configuration logic 300 will then interface withthe display 301, display settings 315, and apply the parameters of theprofile 311 to adjust the display settings 315 without any interactionby the user. For example, the dynamic image quality configuration logic300 may adjust display settings 315 to adjust the sharpness, colorcorrection, brightness, contrast, color vibrancy and apply flesh-tonecorrection. In the event that application #1 utilizes 3D images, thedynamic image quality configuration logic 300 may also apply the 3Dsettings 309 and adjust anti-aliasing and anisotropic filteringparameters. The anti-aliasing and anisotropic filtering parameters maybe internal to the electronic device, that is, they may not be part ofthe display settings 315 but may impact operation of, for example,graphics processing operations related to the application that are runon the GPU 205.

The flowchart of FIG. 4 illustrates basic operation of the embodiments.In 401, the dynamic image quality configuration logic 300 detects anapplication or a file type, and determines if a profile exists for thatapplication or file type as shown in 403. If not, then the dynamic imagequality configuration logic 300 continues to monitor for additionalaccesses applications or file types. If a profiles does exist asdetermined in 403, the profile settings are compared in 405. If thesettings of the profile are applied, then the process returns to 401 andthe dynamic image quality configuration logic 300 continues to monitorfor additional accesses of applications or file types. Otherwise, if theprofiles settings are not applied as determined in 405, the profile isobtained from the profile data in 407 and is applied as shown in 409.For example, the dynamic image quality configuration logic 300 gets theprofile in 405 for the application or file type and applies the profilesettings in 407 to adjust the display settings of one or more displays.

FIG. 5 illustrates operation of the embodiments for a scenario similarto that illustrated in FIG. 1 where more than one application may bedisplayed in application windows on a screen space of a display. In suchscenarios the dynamic image quality configuration logic 300 mayprioritize which application gets priority in terms of the overalldisplay settings. For example, in some embodiments, the dynamic imagequality configuration logic 300 may detect application window focus orprocessor usage related to a specific application as shown in 501. Thus,if for example a minimum screen space percent is exceeded by theapplication window of an application that is in focus as determined in503 the settings may be adjusted. Otherwise, if the screen space minimumis not exceeded as determined in 503, then the current settings areretained as shown in 505, the process returns to 501 and the dynamicimage quality configuration logic 300 continues to monitor forapplication window focus of applications that are being run anddisplayed.

For instances where it is determined in 503 that the current window infocus is greater than the minimum percentage of screen space, theprofile related to the application is compared to the current settingsto determine if they have already been applied as shown in 507. If thesetting are already applied, then the process returns to 501 and thedynamic image quality configuration logic 300 continues to monitor forapplication window focus of applications that are being run anddisplayed. Otherwise, if the profiles settings are not applied asdetermined in 507, the profile is obtained from the profile data in 509and is applied as shown in 511. For example, the dynamic image qualityconfiguration logic 300 gets the profile for the application in focusand applies the profile settings to adjust the display settings of oneor more displays. It is to be understood that the application window,for which the image quality settings have been applied, may be taken outof “focus” and another application window may be placed in focus.However, the system described above will maintain the settings for theapplication window meeting the criteria of size, that is, if anapplication window is larger than the minimum percentage of screenspace, the image quality settings will be maintained pertaining to thatapplication window. The minimum percentage of screen space is apredetermined criteria that may be determined as an arbitrary value bythose of ordinary skill. For example, a user may view a movie in anapplication window that is sized larger than the minimum screen space(for example, greater than 20%, 50%, etc.) and may run anotherapplication, such as a word processing application, in secondapplication window. In this case the system of the embodiments willmaintain the image quality setting related to the movie applicationwindow.

It is also to be understood that the system of the embodiments maytoggle between image quality settings based on user activity. Forexample, if the user is running a movie and a word processingapplication as described above, and closes the movie application windowto work solely with the word processing application window, the systemof the embodiments will adjust the settings in accordance with a profilefor the word processing application, if one exists, or may other revertto default image quality settings.

It is also to be understood that other criteria may be used in theembodiments to determine when to adjust image quality settings. Forexample, rather than monitoring application window size as a percentageof screen space, the system of the embodiments may monitor CPU (or GPU)utilization. In this scenario, image quality adjustments may be appliedwhen a given application exceeds a predetermined processor (CPU, GPU ora combination usage) percent utilization. Other criteria may becontemplated by those of ordinary skill and such criteria would remainwithin the scope of the embodiments herein disclosed.

The flowchart of FIG. 6 provides further details of the settingsadjustment that are made as shown in block 407 of FIG. 4 and block 511of FIG. 5. As shown in FIG. 6, 601, the dynamic image qualityconfiguration logic 300 will operatively interface with the displaysettings of one or more display devices. The remaining blocks of FIG. 6show the parameters that may be adjusted based on the given profile.That is, various image quality settings may be adjusted including;sharpness in 603, color correction in 605, brightness in 607, contrastin 609, color vibrance in 611, and flesh tone correction in 613.Additionally, or alternatively, in an application using 3D images is inuse (that is, accessed and having an application display window infocus) as determined in 615, then anti-aliasing may be adjusted as shownin 617. Further, anisotropic filtering may also be adjusted as shown in619. The adjustment process then ends, after all the settings of theprofile have been applied, as shown in 621.

Therefore an intelligent image quality adjustment system and methods ofoperation have been disclosed herein wherein any other variations thatwould be equivalent to the herein disclosed embodiments and that mayoccur to those of ordinary skill in the art and would remain inaccordance with the scope of embodiments as defined herein by thefollowing claims. That is, the embodiments are not limited to theparticular details of the apparatus and methods depicted and othermodifications and applications may be contemplated. Further changes maybe made in the above-described method and device without departing fromthe true scope of the embodiments herein involved. It is intended,therefore, that the subject matter in the above depiction should beinterpreted as illustrative, not in a limiting sense.

What is claimed is:
 1. A method comprising: displaying a plurality ofapplication windows; detecting an application access of one applicationwindow of the plurality of application windows; configuring, in responseto detecting said application access, automatically without userintervention, the display system in an image quality configuration forsaid detected application wherein said image quality configuration isbased on providing best image quality with respect to said application;and prioritizing which application of the plurality of applicationsreceives priority of image quality configuration.
 2. The method of claim1, wherein configuring said display system in an image qualityconfiguration, comprises: determining that a profile associated withsaid application or associated with said file type is stored in memory;and configuring said display system according to said profile.
 3. Themethod of claim 1, wherein configuring said display system in an imagequality configuration, comprises: adjusting at least one anti-aliasingparameter or at least one anisotropic filter parameter.
 4. The method ofclaim 1, wherein configuring said display system in said image qualityconfiguration comprises: adjusting at least one setting selected fromthe settings of: sharpness, color correction, brightness, contrast,color vibrance and flesh tone correction.
 5. An apparatus comprising:image quality configuration logic operative to: configure, in responseto detecting an application access, automatically without userintervention, a display system in an image quality configuration forsaid detected application wherein said image quality configuration isbased on providing best image quality with respect to said application;and prioritize which application of a plurality of applications receivespriority of image quality configurations.
 6. The apparatus of claim 5,wherein said logic is operative to: determine that a profile associatedwith an application or associated with a file type is stored in memory;and configure said display system according to said profile.
 7. Theapparatus of claim 5, wherein said logic is operative to: adjust atleast one anti-aliasing parameter or at least one anisotropic filterparameter.
 8. The apparatus of claim 5, wherein said logic is operativeto: monitor an operating system of said display system and obtain anindication from said operating system that an application has beenaccessed or that a file type has been accessed.
 9. The apparatus ofclaim 5, wherein said logic is operative to: monitor a GPU of saiddisplay system and obtain a process invocation indication from said GPUwherein said process invocation corresponds to a specific applicationaccess.
 10. The apparatus of claim 5, wherein said logic is operativeto: display, on a display screen space, of said display system, aplurality of application windows wherein said application access is aselection of one application window of said plurality of applicationwindows; determine that said one application window is larger than aminimum percentage of said display screen space; and configure saiddisplay system in said image quality configuration for said applicationwherein said application provides a display only within said oneapplication window.
 11. The apparatus of claim 5, wherein said logic isoperative to: display, on a display screen space, of said displaysystem, a plurality of application windows wherein said applicationaccess is a selection of one application window of said plurality ofapplication windows; determine that processor utilization of at leastone processor, related to an application corresponding to said oneapplication window, is larger than a minimum percentage processorutilization; and configure said display system in said image qualityconfiguration for said application wherein said application provides adisplay only within said one application window.
 12. The apparatus ofclaim 5, wherein said logic is operative to: adjust at least one settingselected from the settings of: sharpness, color correction, brightness,contrast, color vibrance and flesh tone correction.